A model-view-controller (MVC) software design pattern is used to divide a software application into three interconnected parts. In some MVC implementations, the model corresponds to the data of an application, the view corresponds to the display of the application, such as a user interface, and the controller corresponds to the behavior of the application. This pattern may also be referred to as model-view-viewmodel (MVVM) or model-view-binder (MVB), that are variations of the MVC pattern in other contexts.